package com.yeyks.hotel.dal.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * 酒店入住申请表
 *
 * @author shuai
 * @date 2019-06-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="HotelApply对象", description="酒店入住申请表")
public class HotelApply implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "酒店名称")
    @TableField("hotel_name")
    private String hotelName;

    @ApiModelProperty(value = "省份代码")
    @TableField("province_code")
    private String provinceCode;

    @ApiModelProperty(value = "市代码")
    @TableField("city_code")
    private String cityCode;

    @ApiModelProperty(value = "区县代码")
    @TableField("country_code")
    private String countryCode;

    @ApiModelProperty(value = "酒店位置")
    @TableField("hotel_area")
    private String hotelArea;

    @ApiModelProperty(value = "酒店详细地址")
    @TableField("hotel_address")
    private String hotelAddress;

    @ApiModelProperty(value = "联系人")
    @TableField("contact_name")
    private String contactName;

    @ApiModelProperty(value = "联系人手机号")
    @TableField("phone")
    private String phone;

    @ApiModelProperty(value = "营业执照图片")
    @TableField("pic")
    private String pic;

    @ApiModelProperty(value = "状态，0待审核，1已通过，2已拒绝，3已忽略")
    @TableField("status")
    private Integer status;

    @ApiModelProperty(value = "创建日期")
    @TableField("created_time")
    private Date createdTime;

    @ApiModelProperty(value = "更新日期")
    @TableField("updated_time")
    private Date updatedTime;

    @ApiModelProperty(value = "操作人id")
    @TableField("operator_id")
    private Integer operatorId;


    public static final String ID = "id";

    public static final String HOTEL_NAME = "hotel_name";

    public static final String PROVINCE_CODE = "province_code";

    public static final String CITY_CODE = "city_code";

    public static final String COUNTRY_CODE = "country_code";

    public static final String HOTEL_AREA = "hotel_area";

    public static final String HOTEL_ADDRESS = "hotel_address";

    public static final String CONTACT_NAME = "contact_name";

    public static final String PHONE = "phone";

    public static final String PIC = "pic";

    public static final String STATUS = "status";

    public static final String CREATED_TIME = "created_time";

    public static final String UPDATED_TIME = "updated_time";

    public static final String OPERATOR_ID = "operator_id";

    public enum Status {
        WAIT(0, "待审核"),
        PASS(1, "已通过"),
        NO_PASS(2, "已拒绝"),
        IGNORE(3, "已忽略");
        int value;
        String desc;

        Status(int value, String desc) {
            this.value = value;
            this. desc = desc;
        }

        public Integer value() {
            return this.value;
        }
    }

}
